3 research outputs found

    Socket Intents: OS Support for Using Multiple Access Networks and its Benefits for Web Browsing

    Get PDF
    In today's Internet, mobile devices are connected to multiple access networks, e.g., WiFi/DSL and LTE. To take advantage of the networks' diverse paths characteristics (delay, bandwidth, and reliability) and aggregate bandwidth, we need smart strategies for choosing which interface(s) to use for what traffic. In this paper, we present an approach how to tackle this challenge as part of the Operating System (OS): With the concept of Socket Intents, applications can express what they know about their communication pattern and their preferences. Using our Socket Intents Prototype and our modified BSD Socket Interface, this information is used to choose the most appropriate path or path combination on a per message or per connection basis. We evaluate our system based on the use case of Web browsing: Using our prototype and a client-side proxy, we show the feasibility and benefits of our design. Using a flow-based simulator and a full factorial experimental design, we study a broad range of access network combinations (based on typical DSL and LTE scenarios) and real workloads (Alexa Top 100 and Top 1000 Web Sites). Our policies achieve performance benefits in more than 50% of the cases and speedups of more than factor two in 20% of the cases without adding overhead in the other cases.Comment: Submitted to IEEE/ACM Transactions on Networkin

    Multi-Path Aware Internet Transport Selection

    No full text
    When the Internet experiment started more than 30 years ago, no one could foresee its expansion — What started as an experiment to interconnect a few research computers has become an essential global infrastructure of humanity. Originally, there was usually only one way to transport data between two computers; this has changed dramatically — today’s Internet offers us way more diverse transport options: Most end hosts are connected via multiple paths to the Internet, most content on the Internet is available on multiple servers, and there is a variety of transport protocols available to meet the needs of different applications. In this thesis, we tackle the problem of how to exploit Internet transport diversity to improve applications’ performance. More specifically, we discuss how to choose among transport options, how to realize multi-path aware transport option selection at the clients’ operating system, and take a glimpse at the performance benefits we can achieve using transport option selection. To reason about transport options and how to choose among them, we characterize three dimensions of transport diversity on the Internet: paths, endpoints, and protocol alternatives. We analyze a representative set of Internet Protocols with regards to the functionality and the granularity of control they provide and how they can be combined. To realize multi-path aware transport option selection at the clients’ operating system (OS), the OS needs to know what to optimize for. Therefore, we introduce the concept of Socket Intents; a means for applications to share their knowledge about their communication pattern and express performance preferences in a generic and portable way. We sketch a generic policy framework that enables the OS to choose suitable transport options while taking the interests of stakeholders like users, vendors and network operators into account. To estimate the performance benefits we can achieve using pathselection, we analyze the benefits of using our Earliest Arrival First (EAF) path selection strategy for Web browsing. The EAF schedules the transfer over the path or path combination that minimizes the expected transfer time. We estimate the possible performance benefits in a custom simulator with a full factorial experimental design covering the Alexa Top 100 and Top 1000 Web sites and a small testbed study using our prototype and demonstrate significant performance benefits. We demonstrate the implementability of path selection and endpoint selection, we implement our Multi-Access Prototype as an extension to the BSD Socket API. Our prototype enables connection reuse via implicit connection pooling and can control the path-management of MPTCP, but also reveals limitations originating by the BSD Socket API. Finally, we give an outlook of the challenges for deploying automated transport option selection within commodity OSes and underline the need for a replacement of the BSD Socket API

    Internetkommunikationsoptionswahl unter BerĂĽcksichtigung von Mehr-Pfad-Szenarios

    No full text
    When the Internet experiment started more than 30 years ago, no one could foresee its expansion — What started as an experiment to interconnect a few research computers has become an essential global infrastructure of humanity. Originally, there was usually only one way to transport data between two computers; this has changed dramatically — today’s Internet offers us way more diverse transport options: Most end hosts are connected via multiple paths to the Internet, most content on the Internet is available on multiple servers, and there is a variety of transport protocols available to meet the needs of different applications. In this thesis, we tackle the problem of how to exploit Internet transport diversity to improve applications’ performance. More specifically, we discuss how to choose among transport options, how to realize multi-path aware transport option selection at the clients’ operating system, and take a glimpse at the performance benefits we can achieve using transport option selection. To reason about transport options and how to choose among them, we characterize three dimensions of transport diversity on the Internet: paths, endpoints, and protocol alternatives. We analyze a representative set of Internet Protocols with regards to the functionality and the granularity of control they provide and how they can be combined. To realize multi-path aware transport option selection at the clients’ operating system (OS), the OS needs to know what to optimize for. Therefore, we introduce the concept of Socket Intents; a means for applications to share their knowledge about their communication pattern and express performance preferences in a generic and portable way. We sketch a generic policy framework that enables the OS to choose suitable transport options while taking the interests of stakeholders like users, vendors and network operators into account. To estimate the performance benefits we can achieve using pathselection, we analyze the benefits of using our Earliest Arrival First (EAF) path selection strategy for Web browsing. The EAF schedules the transfer over the path or path combination that minimizes the expected transfer time. We estimate the possible performance benefits in a custom simulator with a full factorial experimental design covering the Alexa Top 100 and Top 1000 Web sites and a small testbed study using our prototype and demonstrate significant performance benefits. We demonstrate the implementability of path selection and endpoint selection, we implement our Multi-Access Prototype as an extension to the BSD Socket API. Our prototype enables connection reuse via implicit connection pooling and can control the path-management of MPTCP, but also reveals limitations originating by the BSD Socket API. Finally, we give an outlook of the challenges for deploying automated transport option selection within commodity OSes and underline the need for a replacement of the BSD Socket API.Zu Beginn des Internets konnte niemand dessen Erfolg erahnen. Was als Verbund weniger Großrechner in ausgewählten Forschungsinstituten begann, ist heute, über 30 Jahre später, zu einer für die ganze Menschheit wichtigen Infrastruktur geworden. Gab es zu Beginn des Internets meist nur eine Möglichkeit, bestimmte Inhalte zu beziehen, sehen wir uns heute mit einer Fülle verschiedener Optionen konfrontiert. So haben die meisten Endgeräte heutzutage mehrere Zugangswege zum Internet, z.B. Mobilfunk und WLAN, Inhalte werden von verschiedenen Quellen angeboten, und es gibt spezialisierte Protokolle für so ziemlich jedes Anforderungsprofil. Diese Arbeit beschäftigt sich mit der Frage, wie man diese Vielfalt an Kommunikationsoptionen sinnvoll nutzen kann. Dabei konzentrieren wir uns auf drei Kernfragen: Die Auswahl aus den vorhandenen Kommunikationsoptionen, die Realisierung eines Auswahlmechanismus als Betriebssystemkomponente und die erzielbaren Performancegewinne. Um die Vor- und Nachteile der einzelnen Kommunikationsoptionen im Internet gegeneinander abwägen zu können, charakterisieren wir ihre drei Dimensionen: Zugangsnetze, Gegenstellen und Protokollkombinationen. Wir analysieren die einzelnen Kommunikationsoptionen innerhalb ihrer Kategorie und analysieren verschiedene Protokolle auf Basis ihrer Funktionalität, ihrer Abstraktionstiefe und ihrer Kombinierbarkeit. Um eine sinnvolle Auswahl zwischen den verfügbaren Kommunikationsoptionen im Betriebssystem zu treffen, muss das Betriebssystem wissen, woraufhin es optimieren soll. Dazu führen wir mit {Socket Intents} eine Abstraktion ein, die es den Anwendungen ermöglicht, ihr Wissen über ihre Kommunikationsmuster und ihre Präferenzen dem Betriebssystem auf entwicklerfreundliche Weise verfügbar zu machen. Darüber hinaus entwerfen wir ein Framework, das es ermöglicht, basierend auf diesem Wissen und den Anforderungen verschiedener Beteiligter, wie z.B. Nutzer, Anwendungsentwickler und Kommunikationsanbieter, geeignete Kombination auszuwählen. Als Beispiel für eine Zugangsnetzauswahlstrategie stellen wir unsere EAF-Strategie vor, die für jede zu übertragenden Datei die Kombination an Zugangsnetzen auswählt, die die kürzeste Übertragungszeit verspricht. Wir evaluieren die aus dieser Strategie resultierenden Performancegewinne beim Websiteaufruf unter Verwendung eines Simulators für die Alexa Top 100 und Top 1000 Websites und unter Verwendung unseres Prototypen für eine kleine Websiteauswahl. Die Ergebnisse zeigen signifikante Performancesteigerungen in der Mehrzahl der betrachteten Szenarien. Wir zeigen die Realisierbarkeit von automatischer Zugangsnetzwahl mit Hilfe einer prototypischen Implementierung auf Basis der BSD-Socketschnittstelle. Unser Prototyp erlaubt es, Verbindungen innerhalb von impliziten Verbindungspools wiederzuverwenden und die Pfadwahl von zu MPTCP beeinflussen, zeigt aber auch die von der BSD-Socketschnittstelle induzierten Limitierungen auf. Als Abschluss geben wir einen Ausblick darauf, wie diese Features in verbreitete Betriebssysteme Einzug halten können und erklären, warum ein Ersatz für die BSD-Socketschnittstelle dafür zwingend notwendig ist.EC/FP7/257422/EU/Enabling Innovation in the Internet Architecture through Flexible Flow-Processing Extensions/CHANGEDFG, FE 570/4-1, Gottfried Wilhelm Leibniz-Preis 201
    corecore